/*
Q:原子操作和锁
A:原子操作和锁时并发编程中两种同步机制，他的区别如下
1、作用范围：

	原子操作：原子操作是一种基本的操作，可以在单个指令级别上执行，保证操作原子性，原子操作通常用于对共享变量进行读取，写入或者修改等操作，以确保操作的完整性
	锁：锁是一种更高级别的同步机制，用于保护临界区的访问，锁可以用于限制对共享资源的并发访问，以确保线程安全

2、使用方式：

	原子操作：原子操作是通过硬件指令或者特定的原子操作函数来实现的，可以直接用于变量或者内存位置，而无需额外的代码
	锁：锁是通过编程语言的锁机制来实现的，需要显示地使用锁地相关方法或者语句来保护临界区地访问

3、粒度：

	原子操作：原子操作通常是针对单个变量或者内存位置操作，可以在非常细粒度的层面上实现同步
	锁：锁通常针对一段代码或者一组操作地访问进行同步，可以控制更大力度地临界区

4、性能开销

	原子操作：原子操作通常具有较低地性能开销，因为他们是在硬件级别上实现地，无需额外的同步机制
	锁：锁通常具有较高的性能开销，因为他们需要进行上下文切换和线程同步等操作

综上所述，原子操作和锁是两种不同的同步机制，用于处理并发编程中的同步问题，原子操作适用于对单个变量的读写操作，具有较低的性能开销，锁适用于对一段代码或者一组操作的访问进行同步，具有更高的性能开销
选择使用原子操作还是用锁取决于具体的场景和需求

需要注意的是，原子操作通常用于对共享变量惊醒的简单的读写和操作，而锁更适用于对临界区的访问进行复杂的操作和保护，
在设计并发程序时，需要根据具体的需求和性能要求来选择合适的同步机制
*/
package main

func main() {

}
